home *** CD-ROM | disk | FTP | other *** search
/ AMIGA PD 1 / AMIGA-PD-1.iso / NetBSD / docs-netbsd / Mailinglist-Archive / 1994-10.gz / 1994-10 / 000494_owner-amiga@netbsd.org_Thu Oct 20 02:57:07 1994.msg < prev    next >
Text File  |  1994-11-20  |  3KB  |  71 lines

  1. Subject:  
  2. From: Niklas Hallqvist <niklas@appli.se>
  3. To: amiga@netbsd.org, jag@world.std.com, osymh@gemini.oscs.montana.edu
  4. Sender: owner-amiga@netbsd.org
  5.  
  6. To: osymh@gemini.oscs.montana.edu
  7. CC: jag@world.std.com,
  8.     amiga@NetBSD.ORG
  9. In-reply-to: <9410191941.AA29967@gemini.oscs.montana.edu> (osymh@gemini.oscs.montana.edu)
  10. Subject: Re: Hardware handshaking
  11.  
  12. >>>>> "Michael" == Michael L Hitch <osymh@gemini.oscs.montana.edu> writes:
  13.  
  14. Michael> On Oct 19, 1:43pm, Jeremy Alan Green wrote:
  15. >> Does anyone have a patch to enable hardware handshaking for
  16. >> NetBSD-Amiga?  I'm trying to ftp large files (X11R5) over ppp and
  17. >> it is incredibly slow with all of the silo overflows.  It goes at
  18. >> about 25% efficiency over a 14.4 modem.
  19.  
  20. Michael>   There is no patch to fix silo overflows.  The silo overflow
  21. Michael> indicates that the hardware receive register was overwritten
  22. Michael> with another character before the software could read the
  23. Michael> previous character.  The Amiga serial port does not do
  24. Michael> hardware flow control in hardware.
  25.  
  26. Michael>   The latest kernel should include the updated serial driver
  27. Michael> that does implement CRT/RTS handshaking by the software.
  28. Michael> [Output handshaking has always (as far as I can remember)
  29. Michael> been there, but input handshaking wasn't until recently.]
  30. Michael> This will only help with receive buffer overflows, not silo
  31. Michael> overflows.
  32.  
  33. Michael>   The only cure for silo overflows is either a faster
  34. Michael> CPU/memory, or a serial card with for hardware buffering.
  35.  
  36. Yes, I should've read the whole original message before posting the
  37. patch.  silo overflows *will* continue, especially on GVP systems.
  38. In fact, I thought I had a solution to the GVP problem (DMA taking
  39. over the bus in a way the machine stalls).  Outline:
  40.  
  41. I added the following functions:
  42.  
  43. void register_fast_device (void (*stop)(void *), void (*start)(void *), void *arg);
  44. void unregister_fast_device (void *arg);
  45. void stop_fast_devices ();
  46. void start_fast_devices ();
  47.  
  48. and then called stop'n'start_fast_devices at the appropriate spots in
  49. gtsc.c (when DMA is started and stopped respectively).  I also made
  50. the registration of my "fast" serial device (an ISA com-driver over the
  51. GG2-bus) happen when the input baudrate exceeded 9600.  The
  52. stop'n'start functions for that device were basically maintaining the
  53. RTS line together with the TS_TBLOCK bit.
  54.  
  55. Sad to say, it didn't work.  I don't know, but it seemed like I got
  56. race conditions where I lost characters completely all the time.
  57. Then I got too tired to pursue the matter.  I thought, maybe it
  58. isn't GVP at all, but rather my massive amount of slow 16-bit mem
  59. and my slow 33MHz '030.  I got thinking of having a bounce-buffer
  60. in 32-bit RAM, delaying the final moving of data with a sicallback.
  61. That would probably be enough to drive at least 19200 without silo
  62. overflows (gtsc_maxdma set to 512).  Maybe 38400 would work at
  63. gtsc_maxdma 256, but I'm just guessing.
  64.  
  65. Today I can live with 19200 (getting silo overflows every once in
  66. a while, but not too frequently), but I'm getting a 16550 to my serial
  67. card very soon so I can step up a bit.
  68.  
  69. I really, really want a '040 accel for my A2000, or a cheap A4000/040,
  70. badly... :-(
  71.